{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python Programming - Assessed Exercise No.2\n",
    "\n",
    "---\n",
    "\n",
    "## Issued:\t\tFriday 4 November 2022\n",
    "## Due:\t\t\tMonday 14 November 2022 – 12:00\n",
    "\n",
    "---\n",
    "\n",
    "__This assessment consists of 2 tasks__\n",
    "\n",
    "---\n",
    "\n",
    "### Important\n",
    "\n",
    "__The code must be commented.<br>\n",
    "Your code must run with Python3 and you cannot use any 3rd party libraries apart from those included with Anaconda\n",
    "Python/Jupyter Notebook.<br>\n",
    "It should npot open any files.\n",
    "Marks will be deducted if any of the above are not followed.__<br>\n",
    "\n",
    "---\n",
    "\n",
    "### What to Hand In\n",
    "\n",
    "<br>You must submit 1 Jupyter Notebook file to Dropbox on Blackboard.<br> \n",
    "You need to name your Jupyter Notebook file as:<br>\n",
    "\n",
    "    Surname_forename_degree_Python2.ipynb<br>\n",
    "    \n",
    "The “degree” will be ABB or Bionf <br>\n",
    "\n",
    "---\n",
    "\n",
    "### Background\n",
    "\n",
    "The objective of this exercise is to write a script containing 2 functions to simulate genetic drift and the plot the results.\n",
    "Genetic drift is the change in the frequency of an (gene variant) in a population over multiple generations. An individual’s alleles are a sample of those in present their parents and chance has a role in determining whether that individual will survive and reproduce. Genetic drift may cause gene variants to disappear completely from a population and thereby reduce genetic variation. The exercise will simulate two simple genetic drift models.\n",
    "\n",
    "---\n",
    "\n",
    "### Plots\n",
    "\n",
    "This assessment requires you to create 2 plots, which are straightforward to generate on Python. Plots are covered in part 3 of the tutorial but to generate a plot you just need to provide lists of data points for the x and y-axis:\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pylab import *  # The plotting module\n",
    "\n",
    "x_data = [0, 1, 2,  3, 4, 5, 6]  # Data for the x-axis\n",
    "y_data = [0, 1, 0, -1, 0, 1, 0]  # Data for the y-axis\n",
    "\n",
    "plot(x_data, y_data)   # Plot the data\n",
    "\n",
    "xlabel(\"This is the x label\")\n",
    "ylabel(\"This is the y label\")   # Add axis labels\n",
    "title(\"Here is the title\")      # Add a title\n",
    "\n",
    "show()  # Display the plot\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To plot more than one set of data and include a key:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "from pylab import *  # The plotting module\n",
    "\n",
    "x_data = [0, 1, 2,  3, 4, 5, 6]  # Data set 1 for the x-axis\n",
    "y_data = [0, 1, 0, -1, 0, 1, 0]  # Data set 2 for the y-axis\n",
    "y_data2 = [0.25, 0.75, -0.25, 0, 1, 0.5, 0]  # Data for the y-axis\n",
    "\n",
    "plot(x_data, y_data, 'r', label=\"Data 1\")   # Plot the data. The 'r' sets the colour to red\n",
    "plot(x_data, y_data2, 'b', label=\"Data 2\")   # Plot the data. The 'b' sets the colour to blue\n",
    "\n",
    "xlabel(\"This is the x label\")\n",
    "ylabel(\"This is the y label\")   # Add axis labels\n",
    "title(\"Here is the title\")      # Add a title\n",
    "legend(loc='lower right')       # Add the key\n",
    "\n",
    "show()  # Display the plot\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Task 1 (50%)\n",
    "\n",
    "Write a function that creates a population of size 100, half of which have allele ‘A’ and half which have allele ‘B’. This can be created as a list with 50 ‘A’ and 50 ‘B’. This list will represent the initial population.\n",
    "The script should then complete 1000 generations using the following rules:\n",
    "\n",
    "    • With each generation an allele from the current population list should be randomly selected and added to a new list representing the new population.\n",
    " \n",
    "    • The random selection should occur the same number of times as the population size (100) so that the new and original populations are the same size.\n",
    "    \n",
    "    • Note that this means that some alleles may reproduce more than once and others may not reproduce at all.\n",
    "\n",
    "    • If either of the alleles is completely lost from the population then no further generations should be completed.\n",
    "\n",
    "The script also needs to produce a plot that shows the change in allele frequency with each generation, up to the 1000 generations or when either one was lost. The plot should be produced once, when all of the generations have been completed and display both alleles. \n",
    "\n",
    "Ensure that the plot is labelled appropriately.\n",
    "\n",
    "\n",
    "### HINTS:\n",
    "\n",
    "The random module can be imported and used to generate a random number. For example, the command random.randint(1,5) will generate a random number between 1 and 5.\n",
    "\n",
    "To get you started the following code can be used to create the list of 50 ‘A’ and 50 ‘B’ is:\n",
    "\n",
    "    pop_list = []\n",
    " \n",
    "    for i in range(0, int(popsize/2)):\n",
    "\t\tpop_list.append('A')\n",
    "    for i in range(int(popsize/2), popsize):\n",
    "\t\tpop_list.append('B')\n",
    "\n",
    "The popsize value is the population size, which is 100. As popsize is 100, pop_list will contain 50 A and 50 B.\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Write your code here\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "### Task 2 (50%)\n",
    "\n",
    "Write a second function that has 2 alleles for a gene ‘A’ present in each individual. The alleles are ‘A’ and ‘a’ and the individuals are either ‘AA’, ‘Aa’ or ‘aa’.\n",
    "\n",
    "The population size will again be 100.\n",
    "\n",
    "The initial population has an even distribution of alleles so 25% are “AA”, 50% “Aa” (25% ‘Aa’ and 25% ‘aA’) and 25% “aa”.\n",
    "\n",
    "An evolutionary event has occurred that means only 80% of ‘aa’ individuals will survive to maturity to breed, which needs to be accommodated in the script. However, the population size will remain static at 100 after each generation.\n",
    "\n",
    "With each generation one allele from each random individual should be combined with one allele from another random individual to create a new population of 100. As ‘aa’ is only 80% successful it means that in the new population you should only include 80% of those created, so 1 in 5 of the aa you create should be rejected and a new individual created in its place. However, make sure that the final population size after each generation is still 100. \n",
    "\n",
    "An individual cannot breed with itself.\n",
    "\n",
    "Run the simulation for a maximum of 500 generations or until allele “a” disappears from the population, at which point it should stop. \n",
    "\n",
    "Finally, draw a plot of ‘AA’, ‘Aa’, and ‘aa’.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Write your code here\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
